package com.ruoyi.project.cyq.item.item.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.web.domain.BaseEntity;

import java.math.BigInteger;
import java.util.Date;

/**
 * @author Strawberry
 * @date 2020-09-17 下午 2:20
 * @desc 快乐将永远依着草莓
 * @desc 项目模块的项目表
 */

public class Item extends BaseEntity {

    //    项目编号
    private BigInteger projectId;
    //    项目名称
    private String projectName;
    //    项目类别【具体的项目对象是什么】
    private String projectCategory;
    //    项目负责人的id
    private BigInteger leaderId;
    //    项目的签订金额
    private Integer projectMoney;
    //    项目的执行周期
    private String projectPeriod;
    //    项目目前所处状态
    private String projectState;
    //    所属客户的id
    private BigInteger clientId;
    //    项目创建人
    private String projectCreateBy;
    //    项目创建时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date projectCreateTime;
    //    项目的内容
    private String projectContent;
    //    项目的设计风格
    private String projectStyle;
    //    项目的类型【是重点项目还是非重点项目】
    private String projectType;
    //    项目的订立时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date projectStartTime;
    //    项目的完成时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date projectEndTime;
    //    项目备注
    private String projectRemark;
    //    项目附加信息
    private String projectAddInfo;
    //    订单编号
    private String orderNumber;
    //    地理位置
    private String projectPosition;
    //    人文环境
    private String projectEnvironment;
    //    采光条件
    private String projectCondition;
    // 字段的标识/* 1 为显示，2为不显示*/
    private Integer projectShowMarkers;

    @Override
    public String toString() {
        return "Item{" +
                "projectId=" + projectId +
                ", projectName='" + projectName + '\'' +
                ", projectCategory='" + projectCategory + '\'' +
                ", leaderId=" + leaderId +
                ", projectMoney=" + projectMoney +
                ", projectPeriod='" + projectPeriod + '\'' +
                ", projectState='" + projectState + '\'' +
                ", clientId=" + clientId +
                ", projectCreateBy='" + projectCreateBy + '\'' +
                ", projectCreateTime=" + projectCreateTime +
                ", projectContent='" + projectContent + '\'' +
                ", projectStyle='" + projectStyle + '\'' +
                ", projectType='" + projectType + '\'' +
                ", projectStartTime=" + projectStartTime +
                ", projectEndTime=" + projectEndTime +
                ", projectRemark='" + projectRemark + '\'' +
                ", projectAddInfo='" + projectAddInfo + '\'' +
                ", orderNumber='" + orderNumber + '\'' +
                ", projectPosition='" + projectPosition + '\'' +
                ", projectEnvironment='" + projectEnvironment + '\'' +
                ", projectCondition='" + projectCondition + '\'' +
                ", projectShowMarkers=" + projectShowMarkers +
                '}';
    }

    /**
     * 获取 项目编号
     *
     * @return projectId 项目编号
     */
    public BigInteger getProjectId() {
        return this.projectId;
    }

    /**
     * 设置 项目编号
     *
     * @param projectId 项目编号
     */
    public void setProjectId(BigInteger projectId) {
        this.projectId = projectId;
    }

    /**
     * 获取 项目名称
     *
     * @return projectName 项目名称
     */
    public String getProjectName() {
        return this.projectName;
    }

    /**
     * 设置 项目名称
     *
     * @param projectName 项目名称
     */
    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    /**
     * 获取 项目类别【具体的项目对象是什么】
     *
     * @return projectCategory 项目类别【具体的项目对象是什么】
     */
    public String getProjectCategory() {
        return this.projectCategory;
    }

    /**
     * 设置 项目类别【具体的项目对象是什么】
     *
     * @param projectCategory 项目类别【具体的项目对象是什么】
     */
    public void setProjectCategory(String projectCategory) {
        this.projectCategory = projectCategory;
    }

    /**
     * 获取 项目负责人的id
     *
     * @return leaderId 项目负责人的id
     */
    public BigInteger getLeaderId() {
        return this.leaderId;
    }

    /**
     * 设置 项目负责人的id
     *
     * @param leaderId 项目负责人的id
     */
    public void setLeaderId(BigInteger leaderId) {
        this.leaderId = leaderId;
    }

    /**
     * 获取 项目的签订金额
     *
     * @return projectMoney 项目的签订金额
     */
    public Integer getProjectMoney() {
        return this.projectMoney;
    }

    /**
     * 设置 项目的签订金额
     *
     * @param projectMoney 项目的签订金额
     */
    public void setProjectMoney(Integer projectMoney) {
        this.projectMoney = projectMoney;
    }

    /**
     * 获取 项目的执行周期
     *
     * @return projectPeriod 项目的执行周期
     */
    public String getProjectPeriod() {
        return this.projectPeriod;
    }

    /**
     * 设置 项目的执行周期
     *
     * @param projectPeriod 项目的执行周期
     */
    public void setProjectPeriod(String projectPeriod) {
        this.projectPeriod = projectPeriod;
    }

    /**
     * 获取 项目目前所处状态
     *
     * @return projectState 项目目前所处状态
     */
    public String getProjectState() {
        return this.projectState;
    }

    /**
     * 设置 项目目前所处状态
     *
     * @param projectState 项目目前所处状态
     */
    public void setProjectState(String projectState) {
        this.projectState = projectState;
    }

    /**
     * 获取 所属客户的id
     *
     * @return clientId 所属客户的id
     */
    public BigInteger getClientId() {
        return this.clientId;
    }

    /**
     * 设置 所属客户的id
     *
     * @param clientId 所属客户的id
     */
    public void setClientId(BigInteger clientId) {
        this.clientId = clientId;
    }

    /**
     * 获取 项目创建人
     *
     * @return projectCreateBy 项目创建人
     */
    public String getProjectCreateBy() {
        return this.projectCreateBy;
    }

    /**
     * 设置 项目创建人
     *
     * @param projectCreateBy 项目创建人
     */
    public void setProjectCreateBy(String projectCreateBy) {
        this.projectCreateBy = projectCreateBy;
    }

    /**
     * 获取 项目创建时间    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     *
     * @return projectCreateTime 项目创建时间    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     */
    public Date getProjectCreateTime() {
        return this.projectCreateTime;
    }

    /**
     * 设置 项目创建时间    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     *
     * @param projectCreateTime 项目创建时间    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     */
    public void setProjectCreateTime(Date projectCreateTime) {
        this.projectCreateTime = projectCreateTime;
    }

    /**
     * 获取 项目的内容
     *
     * @return projectContent 项目的内容
     */
    public String getProjectContent() {
        return this.projectContent;
    }

    /**
     * 设置 项目的内容
     *
     * @param projectContent 项目的内容
     */
    public void setProjectContent(String projectContent) {
        this.projectContent = projectContent;
    }

    /**
     * 获取 项目的设计风格
     *
     * @return projectStyle 项目的设计风格
     */
    public String getProjectStyle() {
        return this.projectStyle;
    }

    /**
     * 设置 项目的设计风格
     *
     * @param projectStyle 项目的设计风格
     */
    public void setProjectStyle(String projectStyle) {
        this.projectStyle = projectStyle;
    }

    /**
     * 获取 项目的订立时间    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     *
     * @return projectStartTime 项目的订立时间    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     */
    public Date getProjectStartTime() {
        return this.projectStartTime;
    }

    /**
     * 设置 项目的订立时间    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     *
     * @param projectStartTime 项目的订立时间    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     */
    public void setProjectStartTime(Date projectStartTime) {
        this.projectStartTime = projectStartTime;
    }

    /**
     * 获取 项目的完成时间    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     *
     * @return projectEndTime 项目的完成时间    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     */
    public Date getProjectEndTime() {
        return this.projectEndTime;
    }

    /**
     * 设置 项目的完成时间    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     *
     * @param projectEndTime 项目的完成时间    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     */
    public void setProjectEndTime(Date projectEndTime) {
        this.projectEndTime = projectEndTime;
    }

    /**
     * 获取 项目备注
     *
     * @return projectRemark 项目备注
     */
    public String getProjectRemark() {
        return this.projectRemark;
    }

    /**
     * 设置 项目备注
     *
     * @param projectRemark 项目备注
     */
    public void setProjectRemark(String projectRemark) {
        this.projectRemark = projectRemark;
    }

    /**
     * 获取 项目附加信息
     *
     * @return projectAddInfo 项目附加信息
     */
    public String getProjectAddInfo() {
        return this.projectAddInfo;
    }

    /**
     * 设置 项目附加信息
     *
     * @param projectAddInfo 项目附加信息
     */
    public void setProjectAddInfo(String projectAddInfo) {
        this.projectAddInfo = projectAddInfo;
    }

    /**
     * 获取 项目的类型【是重点项目还是非重点项目】
     *
     * @return projectType 项目的类型【是重点项目还是非重点项目】
     */
    public String getProjectType() {
        return this.projectType;
    }

    /**
     * 设置 项目的类型【是重点项目还是非重点项目】
     *
     * @param projectType 项目的类型【是重点项目还是非重点项目】
     */
    public void setProjectType(String projectType) {
        this.projectType = projectType;
    }

    /*
     * 构造方法
     * */

    public Item() {
    }

    public Item(BigInteger projectId, String projectName, String projectCategory, BigInteger leaderId, Integer projectMoney, String projectPeriod, String projectState, BigInteger clientId, String projectCreateBy, Date projectCreateTime, String projectContent, String projectStyle, String projectType, Date projectStartTime, Date projectEndTime, String projectRemark, String projectAddInfo, String orderNumber, String projectPosition, String projectEnvironment, String projectCondition, Integer projectShowMarkers) {
        this.projectId = projectId;
        this.projectName = projectName;
        this.projectCategory = projectCategory;
        this.leaderId = leaderId;
        this.projectMoney = projectMoney;
        this.projectPeriod = projectPeriod;
        this.projectState = projectState;
        this.clientId = clientId;
        this.projectCreateBy = projectCreateBy;
        this.projectCreateTime = projectCreateTime;
        this.projectContent = projectContent;
        this.projectStyle = projectStyle;
        this.projectType = projectType;
        this.projectStartTime = projectStartTime;
        this.projectEndTime = projectEndTime;
        this.projectRemark = projectRemark;
        this.projectAddInfo = projectAddInfo;
        this.orderNumber = orderNumber;
        this.projectPosition = projectPosition;
        this.projectEnvironment = projectEnvironment;
        this.projectCondition = projectCondition;
        this.projectShowMarkers = projectShowMarkers;
    }

    /**
     * 获取 订单编号
     *
     * @return orderNumber 订单编号
     */
    public String getOrderNumber() {
        return this.orderNumber;
    }

    /**
     * 设置 订单编号
     *
     * @param orderNumber 订单编号
     */
    public void setOrderNumber(String orderNumber) {
        this.orderNumber = orderNumber;
    }

    /**
     * 获取 地理位置
     *
     * @return projectPosition 地理位置
     */
    public String getProjectPosition() {
        return this.projectPosition;
    }

    /**
     * 设置 地理位置
     *
     * @param projectPosition 地理位置
     */
    public void setProjectPosition(String projectPosition) {
        this.projectPosition = projectPosition;
    }

    /**
     * 获取 人文环境
     *
     * @return projectEnvironment 人文环境
     */
    public String getProjectEnvironment() {
        return this.projectEnvironment;
    }

    /**
     * 设置 人文环境
     *
     * @param projectEnvironment 人文环境
     */
    public void setProjectEnvironment(String projectEnvironment) {
        this.projectEnvironment = projectEnvironment;
    }

    /**
     * 获取 采光条件
     *
     * @return projectCondition 采光条件
     */
    public String getProjectCondition() {
        return this.projectCondition;
    }

    /**
     * 设置 采光条件
     *
     * @param projectCondition 采光条件
     */
    public void setProjectCondition(String projectCondition) {
        this.projectCondition = projectCondition;
    }

    /**
     * 获取 字段的标识 1 为显示，2为不显示
     *
     * @return projectShowMarkers 字段的标识 1 为显示，2为不显示
     */
    public Integer getProjectShowMarkers() {
        return this.projectShowMarkers;
    }

    /**
     * 设置 字段的标识 1 为显示，2为不显示
     *
     * @param projectShowMarkers 字段的标识 1 为显示，2为不显示
     */
    public void setProjectShowMarkers(Integer projectShowMarkers) {
        this.projectShowMarkers = projectShowMarkers;
    }
}
